# encoding:utf-8
import utils.printcolor
import os
import json
import random
from time import sleep
import datetime
import winreg

#user={
    #"name":"刘德华",
    #"bag":{
        #"money":1000,
        #"zhaomuling":{
            #"count":10,
            #"note":"这是招募令，用于在酒馆招募武将",
        #},
    #},
    #"team":["1","2","3","8","36"],
    #"lastgametime":"09-12",
    #"isusecdk":False,
#}
#team={
    #"1":{
        #"name":"刘备",
        #"grade":1
    #},
    #"2":{
        #"name":"关羽",
        #"grade":1
    #},
    #"3":{
        #"name":"张飞",
        #"grade":1
    #},
    #"8"#:{
        #"name":"诸葛亮",
        #"grade":5
    #},
    #"36":{
        #"name":"赵云",
        #"grade":6
    #},
#}

# coding=UTF-8
#with open('team.ppp',encoding='utf-8',mode='w') as file_object:
    #file_object.write(json.dumps(team,ensure_ascii=False))

#读取队伍配置
with open(os.path.abspath('.')+'/team.ppp',encoding='utf-8',mode='r') as fteam:
    strteam=fteam.read()
team=json.loads(strteam)

#读取用户配置文件
with open(os.path.abspath('.')+'/user.ppp',encoding='utf-8',mode='r') as fuser:
    struser=fuser.read()
user=json.loads(struser)

#读取所有武将列表
with open(os.path.abspath('.')+'/wj.ppp',encoding='utf-8',mode='r') as fwjlb:
    wujiang=fwjlb.read().split(',')


#保存配置文件
def savefile():
    with open('user.ppp',encoding='utf-8',mode='w') as writefile:
        writefile.write(json.dumps(user,ensure_ascii=False))
    with open('team.ppp',encoding='utf-8',mode='w') as writefile:
        writefile.write(json.dumps(team,ensure_ascii=False))

def domain():

    print('#####################################################')
    print('>>>>>>>>>>>>>>>>>>>>>>三国抽抽乐<<<<<<<<<<<<<<<<<<<<<')
    print('#####################################################')
    print('>>1.START')
    print('>>2.END')
    print('你的选择是？:')
    
def readname():
    if len(user["name"])>0:
        utils.printcolor.printgreen('读取到的主公昵称为：'+user["name"])
    else:
        utils.printcolor.printgreen('设置一个帅气的昵称吧？:')
        n=input()
        user["name"]=n
        utils.printcolor.printgreen('设置成功！')
        savefile()
        sleep(2)

def menu():
    while True:
        print('#####################################################')
        print('>>>>>>>>>>>>>>>>>>>>>>初始界面<<<<<<<<<<<<<<<<<<<<<')
        print('#####################################################')
        print('>>1.查看主公')
        print('>>2.查看背包')
        print('>>3.查看队伍')
        print('>>4.酒馆招募')
        print('>>5.淘宝商城')
        print('>>6.每日奖励')
        print('>>7.礼包兑换')
        print('>>8.EXIT')
        print('你的选择是？:')
        n=input()
        if n=='1':
            seeuser()
        if n=='2':
            seebag()
        if n=='3':
            seeteam()
        if n=='4':
            tavern()
        if n=='5':
            print('这个功能还没有开放哦~')
            print('输入任意字符返回主界面')
            input()
        if n=='6':
            dayaward()
        if n=='7':
            cdk()
        if n=='8':
            utils.printcolor.printred('即将退出游戏...')
            sleep(2)
            return

def cdk():
    while True:
        print('#####################################################')
        print('>>>>>>>>>>>>>>>>>>>>>>礼包兑换<<<<<<<<<<<<<<<<<<<<<')
        print('#####################################################')
        print('>>1.得到尊贵的超级大礼包')
        print('>>2.EXIT')
        n=input()
        if n=='1':
            print('请输入暗号:')
            cdk=input()
            if cdk == '叶志远好帅':
                if not user["isusecdk"]:
                    utils.printcolor.printgreen(utils.printcolor.yellow('尊贵的超级大礼包')+'领取成功啦，注意查收哦')
                    user["bag"]["money"]=user["bag"]["money"]+9999
                    user["bag"]["zhaomuling"]["count"]=user["bag"]["zhaomuling"]["count"]+99
                    user["isusecdk"]=True
                    savefile()
                else:
                    utils.printcolor.printred('你已经领取过尊贵的超级大礼包了，一个人只能领一次哦！')
            else:
                utils.printcolor.printred('暗号错误')
            print('>>输入任意字符返回礼包菜单')
        if n=='2':
            return

def dayaward():
    while True:
        print('#####################################################')
        print('>>>>>>>>>>>>>>>>>>>>>>每日奖励<<<<<<<<<<<<<<<<<<<<<')
        print('#####################################################')
        print('>>1.领取')
        print('>>2.EXIT')
        n=input()
        if n=='1':
            now=datetime.datetime.now().strftime('%m-%d')
            if user["lastgametime"]==now:
                utils.printcolor.printred('你今天已经领取过奖励啦！，明天再来吧')
            else:
                user["lastgametime"]=now
                randjl=random.randint(1,20)
                user["bag"]["zhaomuling"]["count"]+=randjl
                utils.printcolor.printgreen('你获得了以下奖励:')
                print('招募令*',randjl)
            savefile()
            print('>>输入任意字符返回每日奖励')
            input()
        if n=='2':
            return

def tavern():
    while True:
        print('#####################################################')
        print('>>>>>>>>>>>>>>>>>>>>>>酒馆<<<<<<<<<<<<<<<<<<<<<')
        print('#####################################################')
        print('你当前拥有' +utils.printcolor.green(str(user["bag"]["zhaomuling"]["count"])) +'个招募令')
        print('>>1.招募一次')
        print('>>2.招募十次')
        print('>>3.EXIT')
        print('你的选择是？:')
        n=input()
        count=user["bag"]["zhaomuling"]["count"]
        if n=='1':
            if count>=1:
                user["bag"]["zhaomuling"]["count"]=count-1
                count=count-1
                sleep(1)
                print('招募到以下武将:')
                zhaomu()
                savefile()
            else:
                utils.printcolor.printred('你的招募令不足，去商城购买几个吧。')

            print('输入任意字符返回酒馆菜单:')
            input()
        if n=='2':
            if count>=9:
                user["bag"]["zhaomuling"]["count"]=count-9
                count=count-9
                print('招募到以下武将:')
                for i in range(1,11):
                    sleep(0.5)
                    zhaomu()
                savefile()
            else:
                utils.printcolor.printred('你的招募令不足，去商城购买几个吧。')
            print('输入任意字符返回酒馆菜单:')
            input()
        if n=='3':
            return

def zhaomu():
    while True:
        id=random.randint(1,9999)
        x=random.randint(1,1000)
        if 970<=x<1000:
            grade=5
        if 800<=x<970:
            grade=4
        if 550<=x<800:
            grade=3
        if 300<=x<550:
            grade=2
        if 1<=x<300:
            grade=1
        if x==1000:
            grade=6
        name=wujiang[random.randint(0,len(wujiang)-1)]
        if id in user["team"]:
            continue
        else:
            user["team"].append(str(id))
            team[str(id)]={
                "name":name,
                "grade":grade,
            }
            utils.printcolor.printcolorbyid(grade,name)
        savefile()
        return

    

def seebag():
    while True:
        print('#####################################################')
        print('>>>>>>>>>>>>>>>>>>>>>>背包<<<<<<<<<<<<<<<<<<<<<')
        print('#####################################################')
        print('>>当前金币余额',utils.printcolor.yellow(user["bag"]["money"]))
        print('>>招募令数量',utils.printcolor.yellow(user["bag"]["zhaomuling"]["count"]))
        print('>>输入任意字符返回主菜单:')
        input()
        return

def seeuser():
    print('#####################################################')
    print('>>>>>>>>>>>>>>>>>>>>>>主公<<<<<<<<<<<<<<<<<<<<<')
    print('#####################################################')
    print('昵称',user["name"])
    print('当前拥有武将数量',str(len(user["team"])))
    print('>>输入任意字符返回主菜单:')
    input()




def seewujiang(n):
    while True:
        print('#####################################################')
        print('>>>>>>>>>>>>>>>>>>>>>>武将<<<<<<<<<<<<<<<<<<<<<')
        print('#####################################################')
        print('当前查看的武将为：',utils.printcolor.changecolor(team[n]["grade"],team[n]["name"]))
        print('>>1.查看品质')
        print('>>2.查看装备')
        print('>>3.查看属性')
        print('>>4.删除武将')
        print('>>5.返回上一层')
        print('你的选择是？:')
        wjcd=input()
        if wjcd=='1':
            print('该武将的品质为:')
            utils.printcolor.checkgrade(team[n]["grade"])
            input('输入任意字符返回武将菜单:')

        if wjcd=='2':
            print('查看装备功能还在开发中...')
            input('输入任意字符返回武将菜单:')
        if wjcd=='3':
            print('查看属性功能还在开发中...')
            input('输入任意字符返回武将菜单:')
        if wjcd=='4':
            utils.printcolor.printgreen('该武将已被删除')
            user["team"].remove(n)
            team.pop(n)
            savefile()
            print('输入任意字符返回武将菜单')
            input()
            return
        if wjcd=='5':
            return


def seeteam():
    while True:
        print('#####################################################')
        print('>>>>>>>>>>>>>>>>>>>>>>队伍<<<<<<<<<<<<<<<<<<<<<')
        print('#####################################################')
        for num in user['team']:
            strnum='>>'+str(num)+'.'
            utils.printcolor.printcolorbyid(team[num]["grade"],strnum+team[num]["name"])
        print('>>输入exit返回上一层')    
        n=input('你的选择是？:')
        if n=='exit':
            print('返回上一层界面')
            return
        else:
            seewujiang(n)
            

if __name__ == "__main__":



    domain()
    n=input()
    if n=='1':
        print('选择了START...')
        sleep(1)
        readname()
        sleep(1)
        menu()


    if n=='2':
        print('结束，即将退出游戏...')
        sleep(2)

    if n=='remake':
        utils.printcolor.printred('重置成功')
        user["name"]=''
        user["bag"]["money"]=1000
        user["bag"]["zhaomuling"]["count"]=10
        user["team"]=[]
        user["lastgametime"]='no'
        user["isusecdk"]=False
        team={}
        savefile()
#user={
    #"name":"刘德华",
    #"bag":{
        #"money":1000,
        #"zhaomuling":{
            #"count":10,
            #"note":"这是招募令，用于在酒馆招募武将",
        #},
    #},
    #"team":["1","2","3","8","36"],
    #"lastgametime":"09-12",
    #"isusecdk":False,
#}
#team={
    #"1":{
        #"name":"刘备",
        #"grade":1
    #},
    #"2":{
        #"name":"关羽",
        #"grade":1
    #},
    #"3":{
        #"name":"张飞",
        #"grade":1
    #},
    #"8"#:{
        #"name":"诸葛亮",
        #"grade":5
    #},
    #"36":{
        #"name":"赵云",
        #"grade":6
    #},
#}



    #print (os.getcwd())#获得当前工作目录

    #print (os.path.abspath('.'))#获得当前工作目录

    #print (os.path.abspath('..'))#获得当前工作目录的父目录
        
    #print (os.path.abspath(os.curdir))#获得当前工作目录






